<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>方法同步执行</title></title>
</head>
<body>
    <script>
        // Promise需要传入一个参数，这个参数是一个函数（箭头函数）
        // 这个传入的函数本身也有俩个参数，分别是resolve,reject
        // 并且resolve和reject这俩个参数，本身也是函数
        new Promise((resolve, reject)=>{
            // 第一次网络请求的代码
            setTimeout(()=>{
                resolve('aaa')// 正常回调，执行这个函数后，进入.then函数
            },3000)
        }).then(()=>{
            // 第一次网络请求的结果代码
            console.log('第一次请求到的结果')
            //拿到结果后，再return一个promise
            return new Promise((resolve, reject) =>{
                // 用第一次拿到的结果，发送第二次的网络请求
                setTimeout(() => {
                    resolve()
                }, 3000)
            }).then(() => {
                // 第二次网络请求拿到的结果代码
                console.log('第二次请求拿到的结果')
                // 再return一个promise
                return new Promise((resolve, reject) =>{
                    //第三次网络请求
                    setTimeout(() =>{
                        reject()//调用reject函数，跳出回调地狱
                    }, 3000)
                }).catch(() =>{
                    // 第三次请求的结果代码
                    console.log('我是失败的请求！')
                })
            })
        })
    </script>
</body>
</html>